/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package be.hogent.iii.project.client.berichthandlers;

import be.hogent.iii.project.common.bericht.Base64VolgendeBeurtBericht;
import be.hogent.iii.project.common.bericht.Bericht;
import be.hogent.iii.project.gui.SpelFrame;
import be.hogent.iii.project.objects.Entiteit;
import java.io.ByteArrayInputStream;
import java.io.ObjectInputStream;
import java.util.ArrayList;

/**
 *
 * @author Dieter Van der Stock
 */
public class ClientBase64VolgendeBeurtBerichtHandler implements BerichtHandler {
    
    public ClientBase64VolgendeBeurtBerichtHandler() { }

    public void handle(Bericht bericht) {
        Base64VolgendeBeurtBericht gegevens = Base64VolgendeBeurtBericht.class.cast(bericht);
        String aanBeurt = gegevens.getNicknameAanbeurt();
        String base64String = gegevens.getBase64String();
        
        System.out.println("Het is aan: " + aanBeurt);
        System.out.println("De entiteiten base 64 string: \n" + base64String);
        
        //nu gaan we die base64String terug omzetten naar een lijst van entiteiten
        try {
            ByteArrayInputStream inByte = new ByteArrayInputStream(base64String.getBytes());
            ObjectInputStream inObject = new ObjectInputStream(inByte);
            //ObjectInputStream inObject = new ObjectInputStream();
            
            ArrayList<Entiteit> ent = (ArrayList)inObject.readObject();
            SpelFrame.getSpelFrame().volgendeBeurt(aanBeurt, ent);
            
            inByte.close();
            inObject.close(); 
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
        
    }
}
